package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.anno.SnowflakeId;
import lombok.Data;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 采购申请单主对象 pms_purchase_requisitions
 *
 * @author ruoyi
 * @date 2025-07-08
 */
@Data
public class PmsPurchaseRequisitions extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 采购申请单唯一标识ID */
    @SnowflakeId
    private Long prId;

    /** 采购申请编号 */
    @ExcelProperty(value = "采购申请编号")
    private String prCode;

    /** 申请人ID */
    @ExcelProperty(value = "申请人ID")
    private Long requesterId;

    private String nickName;

    /** 申请部门ID */
    @ExcelProperty(value = "申请部门ID")
    private Long departmentId;

    private String deptName;

    /** 申请提交日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "申请提交日期")
    private Date requestDate;

    /** 物料需求截止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "物料需求截止日期")
    private Date requiredDate;

    /** 优先级(1-紧急 2-普通 3-计划) */
    @ExcelProperty(value = "优先级(1-紧急 2-普通 3-计划)")
    private Long priority;

    /** 状态 */
    @ExcelProperty(value = "状态")
    private String status;

    /** 申请总金额(元) */
    @ExcelProperty(value = "申请总金额(元)")
    private BigDecimal totalAmount;

    /** 记录创建时间 */
    private Date createdAt;

    /** 记录最后更新时间 */
    private Date updatedAt;

    private List<PmsPurchaseRequisitionsDetail> pmsPurchaseRequisitionsDetails;

    private Boolean isLeader;

    private Boolean isAdmin;

    private String deptCode;

    private Long deptId;

    private Integer totalQuantity;
}
